package boss.service.ygz.client;

/** 
 * CopyRright (c)2016/12-:SGW_WH2.1_TMALL_20180102
 * Project:SGW_WH2.1_TMALL_20180102
 * Module ID:QueryEInvoiceRequest
 * Comments:TODO
 * @author :chenjun  
 * Create Date：2018年12月19日
 * Modified By：Chenjun                     
 * Modified Date:2018年12月19日
 * Why:TODO
 * Version:<v1.0> 
 */
public class QueryEInvoiceRequest implements java.io.Serializable {
    private String lanId;
    private String serialNumber;
    private String apiType;
    
    public QueryEInvoiceRequest() {
    }

    public QueryEInvoiceRequest(String lanId, String serialNumber, String apiType) {
           this.lanId = lanId;
           this.serialNumber = serialNumber;
           this.apiType = apiType;
    }
	public String getLanId() {
		return lanId;
	}
	public void setLanId(String lanId) {
		this.lanId = lanId;
	}
	public String getSerialNumber() {
		return serialNumber;
	}
	public void setSerialNumber(String serialNumber) {
		this.serialNumber = serialNumber;
	}
	public String getApiType() {
		return apiType;
	}
	public void setApiType(String apiType) {
		this.apiType = apiType;
	}
	
	private java.lang.Object __equalsCalc = null;
    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof QueryEInvoiceRequest)) return false;
        QueryEInvoiceRequest other = (QueryEInvoiceRequest) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = true && 
            ((this.lanId==null && other.getLanId()==null) || 
             (this.lanId!=null &&
              this.lanId.equals(other.getLanId()))&&
              ((this.serialNumber==null && other.getSerialNumber()==null) || 
               (this.serialNumber!=null &&
               this.serialNumber.equals(other.getSerialNumber())))
               &&
               ((this.apiType==null && other.getApiType()==null) || 
                (this.apiType!=null &&
                this.apiType.equals(other.getApiType()))));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = 1;
        if (getLanId() != null) {
            _hashCode += getLanId().hashCode();
        }
        if (getSerialNumber() != null) {
            _hashCode += getSerialNumber().hashCode();
        }
        if (getApiType() != null) {
            _hashCode += getApiType().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }
    
    private static org.apache.axis.description.TypeDesc typeDesc =
            new org.apache.axis.description.TypeDesc(QueryEInvoiceRequest.class, true);

        static {
            typeDesc.setXmlType(new javax.xml.namespace.QName("http://ygz.service.boss/client/", ">QueryEInvoiceRequest"));
            org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
            elemField.setFieldName("lanId");
            elemField.setXmlName(new javax.xml.namespace.QName("http://ygz.service.boss/client/", "lanId"));
            elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
            elemField.setNillable(false);
            typeDesc.addFieldDesc(elemField);
            elemField = new org.apache.axis.description.ElementDesc();
            elemField.setFieldName("serialNumber");
            elemField.setXmlName(new javax.xml.namespace.QName("http://ygz.service.boss/client/", "serialNumber"));
            elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
            elemField.setNillable(false);
            typeDesc.addFieldDesc(elemField);
            elemField = new org.apache.axis.description.ElementDesc();
            elemField.setFieldName("apiType");
            elemField.setXmlName(new javax.xml.namespace.QName("http://ygz.service.boss/client/", "apiType"));
            elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
            elemField.setNillable(false);
            typeDesc.addFieldDesc(elemField);
        }

        /**
         * Return type metadata object
         */
        public static org.apache.axis.description.TypeDesc getTypeDesc() {
            return typeDesc;
        }

        /**
         * Get Custom Serializer
         */
        public static org.apache.axis.encoding.Serializer getSerializer(
               java.lang.String mechType, 
               java.lang.Class _javaType,  
               javax.xml.namespace.QName _xmlType) {
            return 
              new  org.apache.axis.encoding.ser.BeanSerializer(
                _javaType, _xmlType, typeDesc);
        }

        /**
         * Get Custom Deserializer
         */
        public static org.apache.axis.encoding.Deserializer getDeserializer(
               java.lang.String mechType, 
               java.lang.Class _javaType,  
               javax.xml.namespace.QName _xmlType) {
            return 
              new  org.apache.axis.encoding.ser.BeanDeserializer(
                _javaType, _xmlType, typeDesc);
        }

    
}
